package com.code.qgjx.mapper;

import com.code.qgjx.entity.User;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;

@Mapper
public interface UserMapper {
    // 根据用户名和密码查询用户
    User findByUsernameAndPassword(@Param("username") String username, @Param("password") String password);
    
    // 根据用户名查询用户（用于检查用户名是否已存在）
    User findByUsername(@Param("username") String username);
    
    // 根据ID查询用户
    User findById(@Param("id") Long id);
    
    // 新增用户
    int insert(User user);
    
    // 更新用户信息
    int update(User user);
    
    // 删除用户
    int deleteById(@Param("id") Long id);
    
    // 查询用户列表（分页）
    List<User> selectList(@Param("role") String role, 
                         @Param("keyword") String keyword, 
                         @Param("offset") int offset, 
                         @Param("limit") int limit);
    
    // 查询总数
    int selectCount(@Param("role") String role, @Param("keyword") String keyword);
} 